package is1;
import java.util.ArrayList;

/**
 * 
 * @author Abel_Administrador
 *	Clase Abastracta de Catalogo
 */
public abstract class Catalogo 
{
	int tamCache;
	String source;
	ArrayList<Producto> productos;
	
	/**
	 * 
	 * @param source Origen de datos
	 */
	public Catalogo(String source)
	{
		this.source = source;
		tamCache = 100;	//Inicializado por defecto para evitar problemas
		productos = new ArrayList<Producto>();
	}
	

	public abstract Producto getProducto(String codProducto);
	public abstract void cargarDatos();

	/**
	 * 	La cache de datos inicial
	 * @param tam	Tamano de la cache
	 * @throws Exception El tamano no puede ser cero o negativo
	 */
	public void setTamCache(int tam) throws ExcepcionTPV
	{
		if(tam > 0)
			tamCache = tam;
		else
			throw new ExcepcionTPV("Tamano de cache incorrecto");
	}
	
}
